// 引入全局组件
import SvgIcon from '@/components/SvgIcon/index.vue';

// 引入vue内置app 和component 类型
import type { App, Component } from 'vue';
// 新建全局组件对象,将全局组件对象添加到全局组件对象中，是类型限定
const globalComponents: { [name: string]: Component } = { SvgIcon };
// 导出全局组件对象
export default {
  install(app: App) {
    // Object.keys(globalComponents)可以获取所有全局组件的key数组
    // .forEach(key => { }) 遍历key 数组，得到每个全局组件的值
    // app.component(key, globalComponents[key]) 将全局组件添加到app中
    Object.keys(globalComponents).forEach(key => {
      app.component(key, globalComponents[key]);
    });
  }
};
